define(function(require, exports){
	var pubjs	= require('pubjs');
	var view	= require('@base/view');
	var util	= require('util');

	/**
	 *	@待确认：
	 *		线上版本:当选择tanx渠道时，把同尺寸的广告位合并起来查看，请求的是不同接口；
	 *	原因：
	 *		tanx渠道下的广告位数量特别多，为了方便查看，把同尺寸的广告位合并起来了。
	 *		此时“广告位、参考出价、素材要求”这三列是无效列，隐藏掉。
	 *	但lily说（20150108）tanx渠道也要列出每一条广告位，不要合并。
	 */

	var List = view.container.extend({
		init:function(config){
			config = pubjs.conf(config, {
				'class': 'P-ads'
			});

			// @请保留
			// 当前是否是tanx渠道
			// this.$isTanx = false;

			this.Super('init', arguments);
		},
		afterBuild:function(){
			var c = this.getConfig();

			this.append(
				'<div class="M-formHead">',
					'<span class="fr" pub-name="date" pub-mod="@base/common/date.dateRangeNew"/>',
				'</div>',
				'<div class="cl" pub-name="grid" pub-mod="ads/grid/media.base"/>'
			);

			// 渠道
			var channel = pubjs.config('exchange');
			var list = [];
			if(channel){
				util.each(channel, function(data){
					list.push({
						text: LANG(data.name),
						name: LANG(data.name),
						id:   data.alias_id || data.id,
						ex_id: data.id
					});
				});
			}

			// 默认显示第一个渠道值
			// var value = list[0];
			var param = {
				"ChannelId": pubjs.config('pcChannel')[0].id,
				'order': 'request_num|-1'
			};

			// @请保留
			// tanx渠道，接口和参数都不同
			// var isTanx = this.$isTanx = util.index(pubjs.config('exchange_group/tanx'), value.id) != null;
			// if(isTanx){
			// 	url = 'spot/sizeList';
			// 	param["no_limit"] = 1;
			// }

			this.buildFromTemplate({
				grid:{
					'param': param,
					'hasSearch': true,
					'hasFilterSidebar': true,
					'filterAutoFire': true,
					'sidebar_config': {
						'items': [
							// {'name': 'type', 'uri':'modules/sideBarBase.radio','config':{
							// 	'title': LANG('类型：'),
							// 	'data': [
							// 		{id: 0, name: LANG('所有')},
							// 		{id: 1, name: LANG('PC广告')},
							// 		{id: 4, name: LANG('移动广告')}
							// 	],
							// 	'value': 0
							// }},
							{'name': 'channel', 'uri':'modules/sideBarBase.channel', 'config': {
								'value': pubjs.config('pcChannel')[0].id,
								'filterAccess': true,
								'monitorUrl': '',
								'compareValue': false,
								'autoFire': true
							}}
						]
					}
				},
				date:{
					pos: 'bR'
				}
			});

		},
		onSidebarFilter: function(ev){
			var self = this
				,param = {};

			util.each(ev.param, function(item, idx){
				var type = idx;
				var id = item.id;

				switch (type) {
					// case 'type':
					// 	param.Type = +id;
					// 	break;
					case 'channel':
						// @请保留
						// var isTanx = this.$isTanx = util.index(pubjs.config('exchange_group/tanx'), data.id) != null;
						// var url = isTanx ? 'spot/sizeList' : 'spot/list';
						param.ChannelId = +id;
						//var url = 'spot/list';
						// @请保留
						// if(isTanx){
						// 	param["no_limit"] = 1;
						// }

						//self.$.grid.reload(param, url);
						break;
				}
			});

			self.$.grid.reload(param);
		},
		onGridDataLoad: function(ev){
			// @请保留
			// 针对tanx渠道，隐藏三列
			// var cols = ['Name','AdvisePrice', 'AllowMaterialNames'];
			// this.$.grid.toggleColumn(cols, !this.$isTanx, 'sub');
		}
	});
	exports.main = List;

});